A graphics processing unit (GPU) of a computing device can execute a graphics processing pipeline that includes a plurality of stages for processing graphics commands to render a two-dimensional representation of a three-dimensional scene. A three-dimensional scene is typically made up of vertices, and the graphics processing pipeline includes a series of stages that are, for each vertex in the three-dimensional scene, executed in a fixed order to render a two-dimensional representation of the three-dimensional scene.
The graphics processing pipeline may include a chain of shader stages that executes to transform the vertices of the three-dimensional scene. Each of the shader stages consume data produced by previous stages and produces data for the next stages. Because of the vast amounts of data flowing through the chain of shader stages, how the data for the chain of shader stages are managed can affect performance and memory efficiency of the GPU.